class features
{
public:  
    inline features(const std::string  in_Spath, 
		    const std::string  in_Mpath,
		    const std::string  in_Spath_mask, 
		    const std::string  in_Mpath_mask,
		    field<std::string> in_actions,
		    const uword in_col, 
		    const uword in_row
 		  );
    
    inline void features_per_action_training(const  field<string>  peo_train, int run);
    inline void feature_multi_action( field<string> peo_test, int run );
    inline void feature_video(std::string one_video, std::string one_video_mask);


    
   
    

    
double THRESH_2;

const std::string single_path;
const std::string multi_path;
const std::string single_path_mask;
const std::string multi_path_mask;
const field<std::string> actions;
const uword col;
const uword row;

int dim;


bool ismultiAction;
rowvec  arma_multi_labels;
field <mat> featuresframe_video_i; // Each mat has all the vector features of that frame


//std::vector < vec > feat_video_i; not used
std::vector < vec > feat_all_videos_action_i;
std::vector < uword > lab_feature_vectors;
//std::vector < mat > diag_covs_all_videos;




  private:
    inline void features_per_action();
   

 
  
};